package TJISE.day03;

public class  Shape { //形状
    //files
    //方法： 两个  求周长     面积
    //主方法  3 instants 实例 两个方法
    // Rectangle 矩形  边长
    // ⚪    circle  半径
    // 三角形  triangle 底 高


    //方法
    double getParameter(){ //周长
              return 0;
    }
    double getArea(){  //面积
             return 0;
    }
}





// 矩形继承了形状
    class Rectangle extends Shape{
        double height;
        double weight;

    //构造方法
    public Rectangle(double height, double weight) {
        this.height = height;
        this.weight = weight;
    }

        //重写
        @Override
        double getParameter(){
        // todo super.getParameter();
            return this.height*2+this.weight*2; // 继承了父类的求周长公式
        }

        @Override
        double getArea() {
            // todo super.getArea();
            return  this.height*this.weight;
        }

    public static void main(String[] args) {
        Rectangle s1 = new Rectangle(3, 4);
        System.out.println("矩形的周长=" + s1.getParameter());
        System.out.println("矩形的面积=" + s1.getArea());
    }

    }

    class Circle extends Shape{   //圆
        //域
        double radius;    //半径
        //构造
        public Circle(double radius) {
            this.radius = radius;
        }

    //重写
        @Override
        double getParameter(){
            //todo super.getParameter()
            return Math.PI*this.radius;
        }
        @Override
        double getArea(){
            //todo super.getArea()
            return Math.PI*this.radius*this.radius ;
        }
        public static void main(String[] args) {
            Circle c1 = new Circle(2);
            System.out.println("圆的周长"+c1.getParameter());
            System.out.println("圆的面积"+c1.getArea());
        }

    }
//三角
    class Triangle extends Shape{
    double a;
    double b;
    double c;

    public Triangle(double a, double b, double c) {
        if ((a + b) > c || (b+c)>a|| (a+c)>b){
            this.a = a;
            this.b = b;
            this.c = c;
        }else {
            System.out.println("不构成三角形");
            System.exit(1);
        }
    }

    @Override
        double getParameter(){
        //todo  super.getParameter()
            return a+b+c;
        }
        @Override
        double getArea(){
        // todo super.getArea()
            double s=(a+b+c)/2;
            return Math.sqrt(s-a)*(s-b)*(s-c) ;
        }

    public static void main(String[] args) {
        Triangle t1 = new Triangle(3,4,5);
        System.out.println("三角形的周长="+t1.getParameter());
        System.out.println("三角形的面积="+t1.getArea());
    }
    }


